
package com.qianxun.module.datasource1.admin.mapper;

import com.qianxun.module.datasource1.admin.entity.SysMenu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author: admin
* @date: 2019-11-14
* @version: 1.0.0
*/
public interface SysMenuMapper extends BaseMapper<SysMenu> {

    /**
     * 查询指定用户的可用菜单
     * @param userId 用户id
     * @param likeCode 菜单编码需要模糊匹配的code编码 ，可为空
     * @param status 菜单状态：可选值：0 ，1 ；可为空
     * @param showMode 菜单展示模式：可选值为：VERTICAL , LEVEL 可为空
     * @param menuFlag 菜单类型
     * @return
     */
    List<SysMenu> selectListBy(@Param("userId") long userId, @Param("likeCode") String likeCode
            , @Param("status") Integer status, @Param("showMode") String showMode, @Param("menuFlag") Integer menuFlag);

    /**
     * 查询所有的菜单，并使用pid排序
     * @return
     */
    List<SysMenu> selectAllAndOrderByPidSort();

    /**
     * 查询指定pid下排序值最大的菜单
     * @param pid 父id
     * @return
     */
    SysMenu selectOneMaxSortMenuByPid(@Param("pid") long pid);
}
